home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / syntax / clipper.vim < prev    next >
Encoding:
Text File  |  2001-05-09  |  5.7 KB  |  144 lines

  1. " Vim syntax file:
  2. " Language:    Clipper 5.2 & FlagShip
  3. " Maintainer:    C R Zamana <zamana@zip.net>
  4. " Some things based on c.vim by Bram Moolenaar and pascal.vim by Mario Eusebio
  5. " Last Change:    Sat Sep 09 2000
  6.  
  7. " For version 5.x: Clear all syntax items
  8. " For version 6.x: Quit when a syntax file was already loaded
  9. if version < 600
  10.   syntax clear
  11. elseif exists("b:current_syntax")
  12.   finish
  13. endif
  14.  
  15. " Exceptions for my "Very Own" (TM) user variables naming style.
  16. " If you don't like this, comment it
  17. syn match  clipperUserVariable    "\<[a,b,c,d,l,n,o,u,x][A-Z][A-Za-z0-9_]*\>"
  18. syn match  clipperUserVariable    "\<[a-z]\>"
  19.  
  20. " Clipper is case insensitive ( see "exception" above )
  21. syn case ignore
  22.  
  23. " Clipper keywords ( in no particular order )
  24. syn keyword clipperStatement    ACCEPT APPEND BLANK FROM AVERAGE CALL CANCEL
  25. syn keyword clipperStatement    CLEAR ALL GETS MEMORY TYPEAHEAD CLOSE
  26. syn keyword clipperStatement    COMMIT CONTINUE SHARED NEW PICT
  27. syn keyword clipperStatement    COPY FILE STRUCTURE STRU EXTE TO COUNT
  28. syn keyword clipperStatement    CREATE FROM NIL
  29. syn keyword clipperStatement    DELETE FILE DIR DISPLAY EJECT ERASE FIND GO
  30. syn keyword clipperStatement    INDEX INPUT VALID WHEN
  31. syn keyword clipperStatement    JOIN KEYBOARD LABEL FORM LIST LOCATE MENU TO
  32. syn keyword clipperStatement    NOTE PACK QUIT READ
  33. syn keyword clipperStatement    RECALL REINDEX RELEASE RENAME REPLACE REPORT
  34. syn keyword clipperStatement    RETURN FORM RESTORE
  35. syn keyword clipperStatement    RUN SAVE SEEK SELECT
  36. syn keyword clipperStatement    SKIP SORT STORE SUM TEXT TOTAL TYPE UNLOCK
  37. syn keyword clipperStatement    UPDATE USE WAIT ZAP
  38. syn keyword clipperStatement    BEGIN SEQUENCE
  39. syn keyword clipperStatement    SET ALTERNATE BELL CENTURY COLOR CONFIRM CONSOLE
  40. syn keyword clipperStatement    CURSOR DATE DECIMALS DEFAULT DELETED DELIMITERS
  41. syn keyword clipperStatement    DEVICE EPOCH ESCAPE EXACT EXCLUSIVE FILTER FIXED
  42. syn keyword clipperStatement    FORMAT FUNCTION INTENSITY KEY MARGIN MESSAGE
  43. syn keyword clipperStatement    ORDER PATH PRINTER PROCEDURE RELATION SCOREBOARD
  44. syn keyword clipperStatement    SOFTSEEK TYPEAHEAD UNIQUE WRAP
  45. syn keyword clipperStatement    BOX CLEAR GET PROMPT SAY ? ??
  46. syn keyword clipperStatement    DELETE TAG GO RTLINKCMD TMP DBLOCKINFO
  47. syn keyword clipperStatement    DBEVALINFO DBFIELDINFO DBFILTERINFO DBFUNCTABLE
  48. syn keyword clipperStatement    DBOPENINFO DBORDERCONDINFO DBORDERCREATEINF
  49. syn keyword clipperStatement    DBORDERINFO DBRELINFO DBSCOPEINFO DBSORTINFO
  50. syn keyword clipperStatement    DBSORTITEM DBTRANSINFO DBTRANSITEM WORKAREA
  51.  
  52. " Conditionals
  53. syn keyword clipperConditional    CASE OTHERWISE ENDCASE
  54. syn keyword clipperConditional    IF ELSE ENDIF IIF IFDEF IFNDEF
  55.  
  56. " Loops
  57. syn keyword clipperRepeat    DO WHILE ENDDO
  58. syn keyword clipperRepeat    FOR TO NEXT STEP
  59.  
  60. " Visibility
  61. syn keyword clipperStorageClass    ANNOUNCE STATIC
  62. syn keyword clipperStorageClass DECLARE EXTERNAL LOCAL MEMVAR PARAMETERS
  63. syn keyword clipperStorageClass PRIVATE PROCEDURE PUBLIC REQUEST STATIC
  64. syn keyword clipperStorageClass FIELD FUNCTION
  65. syn keyword clipperStorageClass EXIT PROCEDURE INIT PROCEDURE
  66.  
  67. " Operators
  68. syn match   clipperOperator    "$\|%\|&\|+\|-\|->\|!"
  69. syn match   clipperOperator    "\.AND\.\|\.NOT\.\|\.OR\."
  70. syn match   clipperOperator    ":=\|<\|<=\|<>\|!=\|#\|=\|==\|>\|>=\|@"
  71. syn match   clipperOperator     "*"
  72.  
  73. " Numbers
  74. syn match   clipperNumber    "\<\d\+\(u\=l\=\|lu\|f\)\>"
  75.  
  76. " Includes
  77. syn region clipperIncluded    contained start=+"+ skip=+\\\\\|\\"+ end=+"+
  78. syn match  clipperIncluded    contained "<[^>]*>"
  79. syn match  clipperInclude    "^\s*#\s*include\>\s*["<]" contains=clipperIncluded
  80.  
  81. " String and Character constants
  82. syn region clipperString    start=+"+ end=+"+
  83. syn region clipperString    start=+'+ end=+'+
  84.  
  85. " Delimiters
  86. syn match  ClipperDelimiters    "[()]\|[\[\]]\|[{}]\|[||]"
  87.  
  88. " Special
  89. syn match clipperLineContinuation    ";"
  90.  
  91. " This is from Bram Moolenaar:
  92. if exists("c_comment_strings")
  93.   " A comment can contain cString, cCharacter and cNumber.
  94.   " But a "*/" inside a cString in a clipperComment DOES end the comment!
  95.   " So we need to use a special type of cString: clipperCommentString, which
  96.   " also ends on "*/", and sees a "*" at the start of the line as comment
  97.   " again. Unfortunately this doesn't very well work for // type of comments :-(
  98.   syntax match clipperCommentSkip    contained "^\s*\*\($\|\s\+\)"
  99.   syntax region clipperCommentString    contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=clipperCommentSkip
  100.   syntax region clipperComment2String    contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$"
  101.   syntax region clipperComment        start="/\*" end="\*/" contains=clipperCommentString,clipperCharacter,clipperNumber,clipperString
  102.   syntax match  clipperComment        "//.*" contains=clipperComment2String,clipperCharacter,clipperNumber
  103. else
  104.   syn region clipperComment        start="/\*" end="\*/"
  105.   syn match clipperComment        "//.*"
  106. endif
  107. syntax match clipperCommentError    "\*/"
  108.  
  109. " Lines beggining with an "*" are comments too
  110. syntax match clipperComment        "^\*.*"
  111.  
  112.  
  113. " Define the default highlighting.
  114. " For version 5.7 and earlier: only when not done already
  115. " For version 5.8 and later: only when an item doesn't have highlighting yet
  116. if version >= 508 || !exists("did_clipper_syntax_inits")
  117.   if version < 508
  118.     let did_clipper_syntax_inits = 1
  119.     command -nargs=+ HiLink hi link <args>
  120.   else
  121.     command -nargs=+ HiLink hi def link <args>
  122.   endif
  123.  
  124.   HiLink clipperConditional        Conditional
  125.   HiLink clipperRepeat            Repeat
  126.   HiLink clipperNumber            Number
  127.   HiLink clipperInclude        Include
  128.   HiLink clipperComment        Comment
  129.   HiLink clipperOperator        Operator
  130.   HiLink clipperStorageClass        StorageClass
  131.   HiLink clipperStatement        Statement
  132.   HiLink clipperString            String
  133.   HiLink clipperFunction        Function
  134.   HiLink clipperLineContinuation    Special
  135.   HiLink clipperDelimiters        Delimiter
  136.   HiLink clipperUserVariable        Identifier
  137.  
  138.   delcommand HiLink
  139. endif
  140.  
  141. let b:current_syntax = "clipper"
  142.  
  143. " vim: ts=4
  144.